package com.yanmaohu.yulia.statement;

import com.yanmaohu.yulia.bean.DescribedObject;
import com.yanmaohu.yulia.bean.NestingOption;
import com.yanmaohu.yulia.bean.UsingDescriptor;

/**
 * @author Bright Lee
 */
public final class DescribeOutputStatement implements DescribeStatement {

    private int beginIndex;
    private int endIndex;
    private boolean output;
    private DescribedObject describedObject;
    private UsingDescriptor usingDescriptor;
    private NestingOption nestingOption;

    public DescribeOutputStatement(int beginIndex,
                                   int endIndex,
                                   boolean output,
                                   DescribedObject describedObject,
                                   UsingDescriptor usingDescriptor,
                                   NestingOption nestingOption) {
        this.beginIndex = beginIndex;
        this.endIndex = endIndex;
        this.output = output;
        this.describedObject = describedObject;
        this.usingDescriptor = usingDescriptor;
        this.nestingOption = nestingOption;
    }

    @Override
    public int getBeginIndex() {
        return beginIndex;
    }

    @Override
    public int getEndIndex() {
        return endIndex;
    }

    public boolean isOutput() {
        return output;
    }

    public DescribedObject getDescribedObject() {
        return describedObject;
    }

    public UsingDescriptor getUsingDescriptor() {
        return usingDescriptor;
    }

    public NestingOption getNestingOption() {
        return nestingOption;
    }

}
